# Переменные
'''
Переменные в языке программирования Python используются для хранения данных. 
Они позволяют нам давать имена значениям, чтобы использовать их позже в коде
'''

# Вот пример объявления переменной в Python:
name = "John"
'''
В этом примере мы объявили переменную с именем "name" и присвоили ей значение "John". 
Теперь мы можем использовать это значение в коде.
'''

'''
Переменные могут хранить различные типы данных, такие как строки (str), 
числа (int, float), списки (list) и другие.
'''
# Вот несколько примеров:
age = 25  # число
pi = 3.14  # число с плавающей точкой
is_student = True  # логическое значение
grades = [90, 85, 95, 80]  # список чисел


# Можно использовать переменные в выражениях и операциях. 
# Например:
x = 5
y = 10
sum = x + y
print(sum) # 15
'''
В этом примере мы объявили две переменные "x" и "y" и присвоили им значения 5 и 10 соответственно. 
Затем мы объявили третью переменную "sum" и присвоили ей сумму "x" и "y". Результат будет 15.
'''

# Также, в Python, можно изменять значения переменных:
x = 5
x = x + 1
print(x) # 6


print("Lets,go!")

# переменные.
number = 4
number2 = 5
result = number + number2
print(result)

# Несколько переменных могут ссылаться на один и тот же объект в памяти.
num1 = num2 = 5
print(num1, num2)

# Множественное присвоение.
num_1, num_2 = 5, 7
print(num_1, num_2)

# Обмен данных между переменными.
swap1 = 8
swap2 = 9
swap1, swap2 = swap2, swap1
print(swap1, swap2)

swap1 = 8
swap2 = 9
swap1, swap2 = swap2, swap1 + swap2  # Так же можно делать математические операции.
print(swap1, swap2)

swap2 -= number  # swap2 = swap2 - number
print(swap2)

# Распаковка списка по переменно.
z, x, c = [1, 2, 3]
print(z)
print(x)
print(c)
print(z, x, c)

z, x, *c = [1, 2, 3, 4, 5]
print(z)
print(x)
print(c)
print(z, x, c)

z, *x, c = [1, 2, 3, 4, 5]
print(z)
print(x)
print(c)
print(z, x, c)

*z, x, c = [1, 2, 3, 4, 5]  # * - arg
print(z)
print(x)
print(c)
print(z, x, c)
